return NULL;
}
+const Babl *babl_space_with_trc (const Babl *babl, const Babl *trc)
+{
+ double xw, yw, xr, yr, xg, yg, xb, yb;
+ const Babl *red_trc = NULL;
+ const Babl *green_trc = NULL;
+ const Babl *blue_trc = NULL;
+
+ babl_space_get (babl,
+ &xw, &yw,
+ &xr, &yr,
+ &xg, &yg,
+ &xb, &yb,
+ &red_trc, &green_trc, &blue_trc);
+ if (red_trc == trc && green_trc == trc && blue_trc == trc)
+ return babl;
+ return babl_space_from_chromaticities (NULL,
+ xw, yw, xr, yr, xg, yg, xb, yb, trc, trc, trc,
+ BABL_SPACE_FLAG_EQUALIZE);
+
+}
void babl_space_get (const Babl *babl,
double *xw, double *yw,
/**
* babl_trc:
*
- * Look up a TRC by name, "sRGB" "1.0" "linear" and "2.2" are recognized
+ * Look up a TRC by name, "sRGB" and "linear" are recognized
* strings in a stock babl configuration.
*/
const Babl * babl_trc (const char *name);
+/**
+ * babl_space_with_trc:
+ *
+ * Creates a variant of an existing space with different trc.
+ */
+const Babl *babl_space_with_trc (const Babl *space, const Babl *trc);
+
/**
* babl_space_get:
*